The piece of software uses a license number which is provided to the user when he acquires a copy of the software, each license number being different from one copy of the software to another. Some objects such as trees, stones or basic buildings are provided to the user so that he can create 3D views. These objects are referred to as public objects. These public objects are provided with each copy of the software. Thus the views comprising public objects can be exchanged between different users of the software, i.e., a view created by a first user can be read by a second user.
Furthermore, encrypted objects such as a particular type of car or a particular type of building can be acquired separately by the user. These encrypted objects can only be read with the software license for which they have been encrypted. Each encrypted object is encrypted and can be deciphered by a key specific to the user's software license. This way if a first user creates a 3D view comprising an encrypted object for which he has acquired a license, a second user cannot read this view. As a matter of fact, the second user does not have the key to decipher the encrypted object of the first user, even if he is licensed for the same object. The reason is that, in order to avoid the users exchanging encrypted objects without acquiring a license for these objects, the keys used to decipher a given encrypted object are different from one software license to another.
A possible solution for exchanging views comprising encrypted objects would be to get the key of the second user, so that the first user can encrypt the view with this key. Then the second user would be able to read the view that has been encrypted with his key.
But this solution is not very safe because data that the users are not supposed to access (i.e. the keys of the encrypted objects) would be exchanged between the users. Furthermore, the encrypted view can be read only by a particular user (the one for which the view has been encrypted), but not by all the users having a license for the encrypted objects of the view. Moreover it is not possible to be sure that the second user sending the key to the first user has a license for the encrypted object of the view.
One of the aims of the invention is to allow the exchange of a view comprising an encrypted object, while minimizing the risk of use of objects by unauthorized users.